package com.fll.fangyitask.dao;

import com.fll.fangyicommon.entity.task.Task;
import com.fll.fangyicommon.entity.task.UserTaskSubject;
import com.fll.fangyicommon.vo.HotTaskVO;
import com.fll.fangyicommon.vo.TaskVO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @author fll
 * @create 2023/3/9
 */
@Mapper
public interface TaskDao {

    /**
     * 创建一条task
     * @param task
     * @return
     */
    Integer createTask(Task task);

    /**
     * 获取用户科目下的task
     * @param subjectId
     * @param userId
     * @return
     */
    List<Task> getUserTaskList(Integer subjectId, Integer userId);

    /**
     * 获取用户科目下的taskId
     * @param subjectId
     * @param userId
     * @return
     */
    List<Integer> getUserTaskIdList(Integer subjectId, Integer userId);

    /**
     * 修改task
     * @param task
     * @return
     */
    Integer editTask(Task task);

    /**
     * 删除task
     * 删除了n条数据,就返回n.
     * 删除一条返回1.
     * 删除2条返回2.
     * 删除0条就是删除0
     * @param taskId
     * @return
     */
    Integer deleteTask(Integer taskId);

    /**
     * 根据taskTitle模糊查询
     * @param taskTitle
     */
    List<TaskVO> selectTaskByTitle(String taskTitle);

    /**
     * 获取10个热门task
     * @return
     */
    List<HotTaskVO> getHotTask();
}
